using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using FEL.COM;
using System.Web.Services;
using System.Collections.Generic;

public partial class COM_COM_CENTRO_GRUPO : PaginaBaseKCG 
{
    public Com_Centro_Compra Com_Centro_Actual
    {
        get
        {
            if (ViewState["COM_CENTRO_COMPRA"] == null)
                ViewState["COM_CENTRO_COMPRA"] = ObtenerComCentro();
            return (Com_Centro_Compra)ViewState["COM_CENTRO_COMPRA"];
        }
    }

    Com_Centro_Compra ObtenerComCentro()
    {
        FEL.COM.BO_Com_Centro_Compra datos = new BO_Com_Centro_Compra();
        return datos.GetById("", (Scope)Session["Scope"], Request.QueryString["Com_Centro_Compra_Id"])[0];

    }

    protected void Page_Load(object sender, EventArgs e)
    {
        Fv.DataBound += new EventHandler(fvcom_centro_grupo_DataBound);
        base.Page_Load(sender, e);
        cargarBotones();
    }


    protected override CheckBox CbInsertarMemoria
    {
        get { return null; }
    }

    protected override Type TipoObjeto
    {
        get { return typeof(global::Com_Centro_Grupo); }
    }

    protected override GridView Gv
    {
        get { return gvcom_centro_grupo; }
    }

    protected override FormView Fv
    {
        get { return fvcom_centro_grupo; }
    }

    protected override ObjectDataSource OdsGv
    {
        get { return odsgvcom_centro_grupo; }
    }

    protected override ObjectDataSource OdsDv
    {
        get { return odsfvcom_centro_grupo; }
    }

    protected override Button BResponderZoom
    {
        get { return Seleccionar; }
    }

    protected override Button BRegreso
    {
        get { return Atras; }
    }

    protected override Koala.KoalaWebControls.KFiltro KftFiltro
    {
        get { return kftFiltro; }
    }
    protected override string Contenedor
    {
        get { return "COM_CENTRO_GRUPO"; }
    }

    protected void nav_Siguiente(object sender, EventArgs e)
    {
        Gv_SelectedIndexChanged(sender, e);
    }

    protected void Tipo_DataBound(object sender, EventArgs e)
    {
        DropDownList ddlTipo = (DropDownList)sender;

        ddlTipo.Attributes.Add("onchange", "checkSelectedValueTipo()");

        TextBox txtTipo = (TextBox)Fv.FindControl("Tipo");
        ddlTipo.SelectedValue = txtTipo.Text;
    }

    void fvcom_centro_grupo_DataBound(object sender, EventArgs e)
    {
        AsignarParametrosGv();
        if (Fv.CurrentMode == FormViewMode.Insert)
        {
            TextBox _valorTipo = (TextBox)Fv.FindControl("Tipo");
            _valorTipo.Text = "ART";            
        }

    }

    void AsignarParametrosGv()
    {
        if (Fv.CurrentMode != FormViewMode.Insert)
        {
            odsgvcom_articulo.SelectParameters["Com_Grupo_Id"].DefaultValue = Fv.DataKey.Values["Com_Grupo_Id"].ToString();
            odsgvcom_articulo.SelectParameters["Tipo"].DefaultValue = Fv.DataKey.Values["Tipo"].ToString();
            string panel_nombre = Fv.DataKey.Values["Tipo"].ToString();

            if (panel_nombre == "ART")
            {
                PanelArtSer.GroupingText = GetLocalResourceObject("Rec_Com_Centro_Grupo_ArticulosRecursoKCG.GroupingText").ToString();                
            }
            else
            {
                PanelArtSer.GroupingText = GetLocalResourceObject("Rec_Com_Centro_Grupo_ServiciosRecursoKCG.GroupingText").ToString();                
            }
        }
    }   

    private void cargarBotones()
    {
        BtnCentroCompra.Text = GetLocalResourceObject("Btn_Com_Centro_Grupo_ProveedorRecursoKCG.Text").ToString();
        BtnCentroCompra.ToolTip = GetLocalResourceObject("Btn_Com_Centro_Grupo_ProveedorRecursoKCG.ToolTip").ToString();
    }


    protected override void DefinirParametrosFijosDeInsercion(System.Collections.Generic.List<DictionaryEntry> param)
    {
        if (Request.QueryString.Count > 0)
        {
            param.Add(new DictionaryEntry("Com_Centro_Compra_Id", Request.QueryString["Com_Centro_Compra_Id"]));
            param.Add(new DictionaryEntry("Com_Centro_Compra_Codigo", Com_Centro_Actual.Codigo));
            param.Add(new DictionaryEntry("Com_Centro_Compra_Nombre", Com_Centro_Actual.Nombre));
        }
        base.DefinirParametrosFijosDeInsercion(param);
    }

    [WebMethod]
    static public string[] GetArticuloProveedor(string prefixText, int count, string contextKey)
    {

        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.COM.BO_Com_Grupo boComGrupo = new BO_Com_Grupo();
        List<Com_Grupo> litComGrupo;

        if (contextKey == "ART")
        {
            int nivel = 3;

            litComGrupo = boComGrupo.GetByLikeNombreArticulos("Nombre", s, prefixText + "%", nivel);

            List<string> opciones = new List<string>();
            for (int i = 0; i < litComGrupo.Count && i < count; i++)
            {
                string value = litComGrupo[i].Id + "||" +
                               litComGrupo[i].Codigo;

                opciones.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litComGrupo[i].Nombre, value));
            }
            return opciones.ToArray();
        }
        else
        {
            int nivel1 = 2;

            litComGrupo = boComGrupo.GetByLikeNombreServicios("Nombre", s, prefixText + "%", nivel1);

            List<string> opciones1 = new List<string>();
            for (int i = 0; i < litComGrupo.Count && i < count; i++)
            {
                string value = litComGrupo[i].Id + "||" +
                           litComGrupo[i].Codigo;

                opciones1.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litComGrupo[i].Nombre, value));
            }
            return opciones1.ToArray();
        }

    }

    protected void BtnCentroCompra_Click(object sender, EventArgs e)
    {
        TextBox CompraId = (TextBox)Fv.FindControl("Com_Centro_Compra_Id");
        Response.Redirect("~/COM/COM_CENTRO_COMPRA.aspx?Com_Centro_Compra_Id=" + CompraId.Text);        
    }

}
